A distributed computing network is comprised of multiple computing devices, such as personal computers, laptops, media players, personal data assistants, mobile phones, or any other type of network access device, capable of initiating and conducting direct data communication with each other through a network infrastructure, which can be wired or wireless. Each network access device operates as both a client computer, controlled by a first user, and a server capable of addressing requests generated from a second network access device, controlled by a second user.
Resource utilization and control of the network is therefore distributed among a plurality of client/server machines and is not centralized within a defined set of servers under the control of a single network operator. Consequently, determining the nature and extent of resource utilization, such as how much bandwidth, storage, or processing power is used, is difficult because the participants in the distributed computing network, namely each client/server computer, cannot be trusted to accurately or honestly report the correct nature and extent of their resource utilization.
While various techniques for measuring the usage of distributed resources are known, there are no known techniques for accurately and securely monitoring individual user resource usage in distributed networks, such as peer to peer networks. Conventional monitoring techniques assume centralized resource control, accurate resource usage reporting from users, or global resource usage estimations based upon extrapolated or interpreted data. Alternatively, conventional systems erect significant transaction barriers, such as requiring the issuance of security certificates or the registration of each transaction, which create substantial obstacles to conducting efficient transactions.
For example, U.S. Pat. No. 6,516,350 discloses a system for the management of distributed resources interconnected by a computer network and comprised of a plurality of limited supply resources (such as those associated with multimedia content servers). The patent, however, is directed toward systems where the resources, provided primarily by centralized servers, are under the control of a trusted party and, therefore, can be readily managed using known computing techniques.
U.S. Pat. No. 6,230,204 discloses a system for estimating the total usage of computer system resources by all users with access to those resources, performed in such a way that desired demographic information is available and computer users are not deterred from using the resource by the usage estimation techniques. This system selects a computer system resource of interest and receives demographic information on various computer users with access to the resource. It then uses the demographic information to select a representative sample of all computer users with access to the resource. A copy of the monitoring program is loaded onto each of the computer systems used by the representative sample. The system then executes the loaded copies of the monitoring program thus recording the usage of various computer system resources by the representative sample. The recorded information is then transferred to a central analyzing facility, where the total usage of the computer system resource of interest is estimated based on the usage of the representative sample users. The resource is then rated relative to other resources based on a resource characteristic that depends on the amount of usage. This patent does not disclose systems or methods for the actual measurement of resources being used or shared by a single user or set of users, but rather, estimates global resource usage of the entire system. Further, this patent does not address situations where users have an incentive to misrepresent the degree of resource utilization and/or sharing being conducted.
U.S. Pat. No. 5,819,047 discloses a method for authorizing the allocation of a resource of a computing system to a user on a network-wide basis using network-wide quotas. When a resource consumption request is received by an authority, a network-wide maximum-use quota amount of the resource that is associated with the user is compared to a network-wide resource amount that is in-use by the user. The requested amount of the resource is allocated on a network-wide basis based on whether the requested amount of the resource and the network-wide resource amount in-use by the user together do not exceed the network-wide maximum-use quota amount of the resource associated with the user. This patent simply addresses resource allocation in a controlled, centrally managed network. It does not address the monitoring of resource usage by individuals in a distributed network or without the benefit of central, trusted managing entity.
Consequently, current approaches are incapable of addressing situations where users artificially inflate the degree and extent of their resource utilization and/or sharing by various means. For example, users may exchange the same file repeatedly between each other to appear to be distributing large numbers of files and therefore sharing extensive amounts of memory or bandwidth. Users may also attempt to erroneously communicate or record incidents of resource usage or sharing that may not have occurred. Users may also share identities to aggregate resource utilization or sharing.
What is needed, therefore, is an effective resource utilization measurement system for a distributed computing network that is able to reliably and accurately operate where the client/server computing nodes being monitored cannot be trusted to accurately report, record, or represent resource utilization or usage. Preferably, such a system would be able to detect and prevent collusion between users who act fraudulently.
Further, a system is needed that is able to uniquely identify a user attempting to defraud the system by manufacturing a degree of resource utilization, to discriminate between legitimate resource usage and fraudulent resource usage, and to subsequently void illegitimate resource usage records without affecting legitimate records. Such a system should be optimal in that it is able to detect frauds and attacks on the system early and accordingly make software updates such that the new version is not subject to the same breach.
Additionally, the resource monitoring system should be designed such that the resource monitoring unit, such as a server in data communication with the plurality of network access devices, receives a minimum number of hits, does not interfere with the direct transactions occurring between multiple client/server nodes, and will only incur a reasonable amount of processing and data storage. The system can preferably cope with millions of transactions and does not have a single point of failure that prevents transactions from occurring and should be able to monitor transactions occurring over multiple sessions.
Given that distributed networks are defined by direct communications between client/server nodes and that users will abandon distributed networks having high barriers to completing transactions, it would be preferable for the system to not require individual client/server nodes to download large applications to operate, require all individual client/server nodes to register, or require or maintain large amounts of data on the identities of these individual client/server nodes.
Additionally, compensating individuals for sharing computing resources in a distributed network is not readily achievable with conventional reward or compensation systems. Conventional reward systems are based on electronic commerce systems that offer users, in exchange for their purchases of products or services, some form of currency, often referred to as loyalty points, that the users can later use to obtain discounts on, or free, products or services. An exemplary conventional reward system is the “miles” program, operated by most airlines, that allocates miles based upon the type of travel purchased and used by the user. Users can later use the allocated miles to obtain discounted, upgraded, or free travel.
For example, U.S. Pat. Nos. 6,578,012, 6,009,412, and 5,774,870 disclose an on-line frequency award program in which a user accesses the program on-line and browses a product catalog for shopping. The user may then electronically place an order, upon which the program automatically checks the user's credit and electronically issues a purchase order to the supplying company. The program also calculates award points, updates the award account of enrolled users, and communicates that number of awarded points to the user. Enrolled users may browse through an award catalog and electronically redeem an amount of awarded points towards an award. The program then electronically places an award redeeming order with the fulfillment house and updates the user's award account.
Conventional systems, and the disclosed patents, have limited applicability, however, in systems that compensate, reward, or deliver benefits to users for sharing or utilizing computing resources. The disclosed systems issue points based upon easily monitored and verified purchase transactions and are incapable of addressing situations where a trusted party is not conducting the transaction that forms the basis for the reward.
Therefore, what is also needed is a system for issuing or assigning compensation, rewards, or some other benefit based upon the results of the resource utilization measurement. Given the risk of collusion between various users, the system preferably only issues rewards, benefits or compensation based upon legitimate incidents of resource sharing, is capable of differentiating between fraudulent attempts to manufacture resource sharing, and is capable of modifying granted benefits based upon evidence or a determination of fraud or collusion. It is also preferred for the system to not issue the benefit or reward until a trusted entity has received all the necessary data to verify that resources were actually utilized.